home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / newsgrp / group00a.txt / 000108_icon-group-sender _Wed May 17 16:25:44 2000.msg < prev    next >
Internet Message Format  |  2001-01-03  |  4KB

  1. Return-Path: <icon-group-sender>
  2. Received: (from root@localhost)
  3.     by baskerville.CS.Arizona.EDU (8.9.1a/8.9.1) id QAA19236
  4.     for icon-group-addresses; Wed, 17 May 2000 16:25:36 -0700 (MST)
  5. Message-Id: <200005172325.QAA19236@baskerville.CS.Arizona.EDU>
  6. From: "Ian Trudel" <ian.trudel@tr.cgocable.ca>
  7. To: "icon-group" <icon-group@optima.CS.Arizona.EDU>
  8. Subject: Re: Is Anyone Working On A Unicode Version Of Icon?
  9. Date: Wed, 17 May 2000 17:29:12 -0400
  10. X-Priority: 3
  11. X-MSMail-Priority: Normal
  12. X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
  13. Errors-To: icon-group-errors@optima.CS.Arizona.EDU
  14. Status: RO
  15.  
  16. Thanks for the enlightement, I was not aware of this. "The Implementation Of
  17. The Icon Programming Language" book says:
  18.  
  19. "The first implementation of Icon (Griswold and Hanson 1979) was written in
  20. RatFor, a preprocessor for Fortran that supports structured programming
  21. features (Kernighan 1975).", p.6.
  22.  
  23. regards,
  24. Ian Trudel, aka BackOrder
  25. StarTrip Server Administrator
  26. http://startrip.gene6.com/
  27.  
  28. ----- Original Message -----
  29. From: "Cary Coutant" <cary@cup.hp.com>
  30. To: "Steve Wampler" <swampler@noao.edu>; "icon-group"
  31. <icon-group@optima.CS.Arizona.EDU>
  32. Sent: Wednesday, May 17, 2000 1:49 PM
  33. Subject: Re: Is Anyone Working On A Unicode Version Of Icon?
  34.  
  35.  
  36. > >Just for historical accuracy...
  37. > >
  38. > >1979 is the first C implemenation of Icon (done by Cary Coutant and me) -
  39. > >the first implementation of Icon (an amazing beast written in FORTRAN
  40. that
  41. > >producing FORTRAN (really RatFor) executables) was several years old by
  42. > >that time.  Also, the C implementation was done on a PDP 11/70, with
  43. > >its 64K address space - so some of the implementation decisions were
  44. driven
  45. > >by considerations that are no longer relevant!
  46. > >
  47. > >Cary produced a compiler for Icon at the same time, but there was
  48. > >surprisingly
  49. > >little improvement over the interpreter because Icon spends most of its
  50. time
  51. > >in the run-time system, which is already compiled code.  It wasn't until
  52. > >later
  53. > >that Ken Walker's work produced a more efficient optimizing compiler.
  54. >
  55. > To clarify a bit more, the first implementation we did in 1979 was sort
  56. > of a compiler. The icon translator still generated the "u-code" -- our
  57. > intermediate representation -- and the icon linker then generated a
  58. > single, large, PDP-11 assembly-language source file. This file was then
  59. > assembled and linked against the large Icon runtime library to produce a
  60. > native executable. The assembly code was really little more than calls to
  61. > the runtime system, and was a very straightforward and simple translation
  62. > of the Icon intermediate code.
  63. >
  64. > The problem with this approach was that the runtime library was so huge
  65. > that link times were large even for a simple "hello, world" program.
  66. >
  67. > Around 1981, I think, I spent a week modifying the Icon linker to produce
  68. > the Icon byte code instead of PDP-11 assembly language, and then built a
  69. > small interpreter, linked to the runtime system. Now, the Icon linker
  70. > needed only to produce a small bytecode file that could be read and
  71. > interpreted by "iconx." The result was greatly improved compile and link
  72. > times, very little runtime performance difference, and -- finally --
  73. > easier portability to other Unix machines.
  74. >
  75. > At the time, I was just copying the idea of a bytecode interpreter from
  76. > the Pascal p-system. Little did I realize that Sun had yet to "invent"
  77. > bytecode!
  78. >
  79. > -cary
  80. >
  81.  
  82.